// 我们前面在数组里面定义了很多状态，但是真正用到的状态只有倒数第一个和倒数第二个，所以我们更改，定义两个变量即可
function fib (n:number):number {
    // 当这里传入0或1的时候，是不会进入下方循环的
    if(n <= 1) return n;
    
    // 1.定义状态,2.初始化状态
    let prev = 0;
    let cur = 1;
   
    for (let i = 2; i <= n; i++) {
        // 3.状态转移方程
        const newValue = prev + cur;
        prev = cur;
        cur = newValue;
    }
    // 4.计算最终结果
    return cur;
}


console.log(fib(10))
console.log(fib(50))

export {}
